home *** CD-ROM | disk | FTP | other *** search
- Hints and Tips
- 4.8
- • ARM code errata − The following is for all those who have an unshak
- able faith in the integrity of Acorn’s code:
- 4.8
- The code given to return from SWI “OS_ BreakPt” on page 736 of the PRMs
- is incorrect. The following works.
- 4.8
- .backtobreak%
- 4.8
- SWI “OS_EnterOS”
- 4.8
- ADR R14,breaksave
- 4.8
- LDMIA R14,{r0-r14 }^
- 4.8
- LDR R14,[R14,#15*4]
- 4.8
- ADD R14,R14,#4
- 4.8
- MOVS PC,R14
- 4.8
- The code given on page 231 of the old BASIC User Guide (under CALL) is
- incorrect. For example, to use MATCH, the line tokenisation routine, the
- following code will work. This has been corrected in the new BASIC User
- Guide.
- 4.8
- .tokenise
- 4.8
- STMFD R13!,{r14 }
- 4.8
- ADD R0,R14,#18*4
- 4.8
- ADR R1,source
- 4.8
- ADR R2,dest
- 4.8
- MOV R3,#1
- 4.8
- MOV R4,#0
- 4.8
- ADR R14,cominghome
- 4.8
- MOV PC,R0
- 4.8
- .cominghome
- 4.8
- LDMFD R13!,{pc }
- 4.8
- .source
- 4.8
- EQUS STRING$(90,CHR$(0)) ALIGN
- 4.8
- .dest
- 4.8
- EQUS STRING$(90,CHR$(0)) ALIGN
- 4.8
- J Heher, South Africa
- 4.8
- • BASIC printing to a DeskJet Plus − The April issue of Archive
- contained a Help!!! plea about printing from Archimedes BASIC to a
- DeskJet 500. I have a DeskJet Plus and have successfully printed from
- BASIC. For reference, my printer is normally set with the function
- switches 6 and 8 in bank A and 2 in bank B up, all others are down.
- 4.8
- To print, I use the command VDU 2,1,27,1,38, 1,107,1,49,1,71 (see Line
- Termination in Appendix 8.19 of the Owner’s Manual). Here is an example
- of how it can be used:
- 4.8
- 10 REM >PrintTest
- 4.8
- 20 VDU 2,1,27,1,38,1,107,1,49,1,71
- 4.8
- 30 PRINT “TEST OF NORMAL PRINTING”
- 4.8
- 40 VDU 1,27,1,38,1,100,1,49,1,68
- 4.8
- 50 PRINT “This is underlined”
- 4.8
- 60 VDU 1,27,1,38,100,1,64
- 4.8
- 70 VDU 1,27,1,40,1,115,1,51,1,66
- 4.8
- 80 PRINT “This is BOLD printing”
- 4.8
- 90 VDU 1,27,1,40,1,115,1,48,1,66
- 4.8
- 100 VDU 1,27,1,40,1,115,1,50,1,48, 1,72
- 4.8
- 110 PRINT “This is 20 PITCH”
- 4.8
- 120 VDU 1,27,1,69 :REM reset printer
- 4.8
- 130 VDU 3
- 4.8
- 140 END
- 4.8
- A Kitchenside, Weybridge
- 4.8
- • Big memory tips − As a footnote to my own article in last month’s
- Archive on making best use of machines with more than 1M memory, I’d
- like to add one more tip. I was reminded by a review of Protext, which
- noted that the current version does not multi-task, that my eleventh tip
- might have been, “boycott non multi-tasking packages”. Since, with 1M,
- you couldn’t really multi-task two significant applications, this was
- not a problem. Now, it’s a real pain in the neck not to be able to have
- several applications with simultaneously active windows, much of the
- power and ease-of-use of RISC-OS is being un-used and it’s annoying
- knowing that 3M of your upgrade is being wasted!
- 4.8
- So, unless there’s a really good reason such as a time-critical sound
- sampler or video screen grabber, I suggest that we boycott such
- packages. Then, software producers would have to bring them up to date
- and not try to palm us off with “Arthur programs with !Run and !Boot
- files”. In an ideal world, software sellers would refuse to stock them
- but at least they could be marked as such, perhaps indicating their
- antiquity by listing them in a suitable script? Stuart Bell, Brighton.
- 4.8
- • C book − I was recommended a good C book which I used on a C short
- course I attended: The Waite Group’s “New C Primer Plus”, First Edition
- 1990, editor Howard W Sams & Co, ISBN 0−672−22687−1. It covers ANSI C,
- UNIX, Microsoft C and Turbo C. S. Stel, Netherlands.
- 4.8
- • ChangeFSI update − A new version of ChangeFSI v0.79 is available from
- Acorn Direct for £19.95. This will handle more image formats than would
- v0.69: Degas PI1, PI2 & PI3, !Translator Clear, MacPaint 579x720x1 bit/
- pixel, ZSoft .PCX, Windows3 .BMP, Pineapple 16 bit/pixel, UNIX rle, PC
- TGA. Unfortunately it will not run from the desktop under !ChangeFSI
- (Shareware Disc 21) as is. This is because version 0.79 is 94 Kbytes
- long, compared with 74K for v0.69. The solution is to edit the !Run file
- of !ChangeFSI and increase the WimpSlot from 128K to 160K. All is then
- well. A Quayle, Chester
- 4.8
- • C txt library − This idea was inspired by the article ‘Introduction to
- C’ – Part 5, in Archive 3.6. This gave a complete RISC-OS application
- using the libraries supplied with Release 3 of Acorn C. In particular,
- it used the ‘txt’ library to provide a window to display text generated
- by the sample program. This requires a minimum of effort by the
- programmer since the library looks after most of the problems.
- 4.8
- Although it works as described, it has two major disadvantages. The
- first is the slow speed during text generation. The second is the
- operation of the window controls. In particular, the cursor control keys
- cannot be used to move the text through the window, the close icon has
- no effect and the vertical scroll bars can only be dragged. Here are
- some techniques which overcome these problems.
- 4.8
- Improved text generation speed turns out to be a very simple modifi
- cation since the cause of the slow operation is the redrawing of the
- window for every item added to the text buffer using, for example, the
- txt_insertstring function. Two extra lines are required; the first turns
- off the display updates when text generation starts and the second turns
- it back on when the operation is complete. The lines shown below should
- be inserted immediately after the visdelay_begin() statement and
- immediately before the visdelay_ end() statement in the original program
- function sysvars_to_text().
- 4.8
- /* turn off display update */
- 4.8
- txt_setcharoptions(t, txt_DISPLAY, FALSE);
- 4.8
-
- 4.8
- /* turn on display update */
- 4.8
- txt_setcharoptions(t, txt_DISPLAY, TRUE);
- 4.8
- Improving text window control requires rather more code but again the
- principle is fairly straightforward. Firstly an event handler has to be
- registered for the text window following its successful creation by the
- txt_new() function using the following statement:
- 4.8
- /* register the text window event handler */
- 4.8
- txt_eventhandler(t, user_txevent, NULL);
- 4.8
- This registers the function user_txevent which will be called to process
- text window events.
- 4.8
- The function itself has to process all the events which the user
- requires. A sample function is given below which is commented to show
- which events are being processed. The keyboard key macro definitions
- given in ‘akbd.h’ are used for consistency but, in addition, the ‘Home’
- key must also be defined using a macro as this is omitted from ‘akbd.h’.
- The actual key values required are defined in the PRM, page 1198 and the
- macro definitions are given in file ‘akbd.h’. Note, however, that the
- definitions given for both akbd_ PageUpK and akbd_PageDownK are wrong so
- I have not used these but used their correct definition in the following
- code. The value txt_ EXTRACODE is added to the key value to represent
- the equivalent window operation. A full list of these is given on page
- 325 of the ANSI C Release 3.
- 4.8
-
- 4.8
- #include “akbd.h”
- 4.8
-
- 4.8
- #define HOME (30)
- 4.8
-
- 4.8
- /***********************************
- 4.8
- user_txevent text window event handler
- 4.8
- t text object
- 4.8
- h event handle
- 4.8
- ***********************************/
- 4.8
- void user_txevent(txt t, void *h)
- 4.8
- {lines ; /* number of lines in window */
- 4.8
-
- 4.8
- h = h;
- 4.8
- while (txt_queue(t) > 0)
- 4.8
- {number of lines visible in window */
- 4.8
- lines = txt_visiblelinecount(t);
- 4.8
-
- 4.8
- /* process the next user event code */
- 4.8
- switch (txt_get(t))
- 4.8
- {+ akbd_Fn+127:
- 4.8
- /* close window icon */
- 4.8
- txt_hide(t);
- 4.8
- break;
- 4.8
-
- 4.8
- case akbd_UpK:
- 4.8
- case txt_EXTRACODE + akbd_UpK:
- 4.8
- case txt_EXTRACODE + akbd_Sh + akbd_Ctl + akbd_UpK:
- 4.8
- /* scroll up one line */
- 4.8
- txt_movevertical(t, –1, TRUE);
- 4.8
- break;
- 4.8
-
- 4.8
- case akbd_DownK:
- 4.8
- case txt_EXTRACODE + akbd_DownK:
- 4.8
- case txt_EXTRACODE + akbd_Sh + akbd_Ctl + akbd_DownK:
- 4.8
- /* scroll down one line */
- 4.8
- txt_movevertical(t, 1, TRUE);
- 4.8
- break;
- 4.8
-
- 4.8
- case akbd_Sh + akbd_UpK:
- 4.8
- case txt_EXTRACODE + akbd_Sh + akbd_UpK:
- 4.8
- /* scroll up one page */
- 4.8
- txt_movevertical(t, -lines, FALSE);
- 4.8
- break;
- 4.8
- case akbd_Sh + akbd_DownK:
- 4.8
- case txt_EXTRACODE + akbd_Sh + akbd_DownK:
- 4.8
- /* scroll down one page */
- 4.8
- txt_movevertical(t, lines, FALSE);
- 4.8
- break;
- 4.8
-
- 4.8
- case akbd_Ctl + akbd_UpK:
- 4.8
- case HOME:
- 4.8
- /* move to start of text */
- 4.8
- txt_setdot(t, 0);
- 4.8
- break;
- 4.8
-
- 4.8
- case akbd_Ctl + akbd_DownK:
- 4.8
- case akbd_Sh + akbd_CopyK:
- 4.8
- /* move to end of text */
- 4.8
- txt_setdot(t, txt_size(t));
- 4.8
- break;
- 4.8
-
- 4.8
- default:
- 4.8
- break;
- 4.8
- }
- 4.8
- }
- 4.8
- return;
- 4.8
- }
- 4.8
- David Scott, Stockport
- 4.8
- • Connection problems − If you are having connection problems with RS423
- connectors, or video or printer − or a dongle, it may be because the
- plugs are not ‘going home’ properly into the sockets on the back of the
- computer. I have noticed this particularly on A540’s, but it could also
- occur on other Archimedes computers. This may be because the fixing
- pillars either side of the socket are too high. The solution it to take
- a pair of pliers (or a box spanner if you have a suitable sized one) and
- remove each of the pillars in turn, take off the washer and screw the
- pillar back in. That extra millimetre can make all the difference.
- 4.8
- • CPC monitor − When my multisync died on me suddenly and I was forced
- to make do with what I had − a well worn Amstrad CPC green screen
- monitor. In practice it was fairly easy to connect the six-pin CPC
- connector to the nine-pin connector on the A3000:
- 4.8
- Archimedes CPC
- 4.8
- 1, 2 & 3 − 6
- 4.8
- 6, 7, 8 & 9 − 5
- 4.8
- 5 − 4
- 4.8
- Naturally, it is impossible to use the multisync modes but it certainly
- is almost as sharp a picture on the tube as on my multisync and much
- cheaper. If your main interest is games I wouldn’t recommend it but for
- most business uses it is perfectly all right. I guess you could get a
- second hand green CPC monitor for next to nothing in the UK as many
- owners have exchanged them for the new CPC monitors. Ask your local
- dealer! A spare monitor could come in handy any day! Tord Eriksson,
- Sweden.
- 4.8
- • !Edit − For what seems like an eternity I have been wrestling with the
- problem of importing text from a wordprocessor (in my case View). What I
- wanted to do was free the text from newline characters in order that, on
- loading it into Ovation, it could be formatted to new column width, in
- whatever point size, without the newline control code producing extra
- linefeeds. At the same time, it should retain the carriage returns
- marking the paragraphs and multi-line spacing. This way I did not lose
- all the style. What follows is how I do it . It might seem obvious but
- it could help someone who is as thick as me. If I have missed the point
- would some kind person tell me before I go mad.
- 4.8
- After loading your text into !Edit, go through the text ensuring that
- there are double returns at the end of each paragraph and on multiple
- line text like program listings or poetry.
- 4.8
- My technique is firstly to change double returns into something which is
- unlikely to appear elsewhere in the text, thus:
- 4.8
- Press <F4> to select Find
- 4.8
- In the Find dialogue box enter \n\n <return>
- 4.8
- In the Replace dialogue box enter ZCZC<return>
- 4.8
- Click on the Magic Character box
- 4.8
- Click on the Go box
- 4.8
- Click on End of File Replace
- 4.8
- Click on Stop
- 4.8
- Press <ctrl-up> to move the cursor to the top
- 4.8
- Now, to replace the single returns:
- 4.8
- Press <F4> to select Find
- 4.8
- In the Find dialogue box enter \n <return>
- 4.8
- In the Replace dialogue box press <space>
- 4.8
- Click on Go
- 4.8
- Click on End of File Replace
- 4.8
- Click on Stop
- 4.8
- Press <ctrl-up>
- 4.8
- Then, to restore the double returns to single ones:
- 4.8
- Press <F4> to select Find
- 4.8
- In the Find dialogue box enter ZCZC<return>
- 4.8
- In the Replace dialogue box enter \n <return>
- 4.8
- Click on Go
- 4.8
- Click on End of File replace
- 4.8
- Click on Stop
- 4.8
- You should have your text with the paragraph and multi-line spacing
- intact. (Simplified from a hint sent in by R Follett, Winnersh, Berks.)
- 4.8
- • Improving sound quality − Further to the comments by Jeremy Mears
- (Archive 4.7 p 21) there is no need, on the A3000, to actually solder to
- the motherboard. You can make contact to the appropriate resistors using
- micro test clips (Tandy − £1.50 for four). This would, I suppose, still
- invalidate the warranty but is less obvious than blobs of solder on the
- p.c.b.! To get access to the resistors, you have to remove the disc
- drive by unscrewing it from underneath. R86 is under the keyboard side
- of the drive whereas R99 is under the middle of the drive. Pin 1 of the
- expansion port is the furthest right (looking from the keyboard side of
- the computer). Gerald Williams, Aldershot.
- 4.8
- • Multiple height and width text printing − I know that the emphasis
- these days is on programs which multi-task and use mode 12 on the
- desktop but not every program is suitable for this and some of these
- programs require larger than usual height characters.
- 4.8
- I am (slowly) developing a word game for the Archimedes, from one I
- wrote last year on my Model B. The “B” version uses mode 2, with double
- height routines written in machine code for speed. The original version
- of this code was quite “illegal” and would not work on a Master but it
- was fast! With it, I could also have text printed 3 or even 4 times
- normal height just as quickly. However, I am new to the Archimedes and
- ARM code is currently beyond me, so after trying various routines in
- BASIC I came across VDU23,17,7. This gives characters at any height and
- any width and is very fast! I can even get half width which gives the
- impression of mode 1 characters in mode 2. Also, it works in most Screen
- modes (except 3, 6 & 7).
- 4.8
- I’ve put together a short routine which demonstrates how easy and fast
- this routine is. To use it, all you have to do is append the PROCedure
- to your program and call it with the colour you wish it to appear in,
- the X & Y positions, the height and width of the characters and the
- Text$ − the routine will do the rest! One point to bear in mind,
- however, is that text is printed using the graphic cursor, i.e. under
- VDU 5 and MOVE or PLOT, rather than the text cursor and VDU 31, X%,Y%.
- 4.8
- Even though this demonstration program is about 20 lines long, the only
- bits you need are in PROCtext(colour, X_co_ord, Y_co_ord, Height, Width,
- Text$). The function FNvdu simply returns the text width of the screen
- mode window in use and this is used to check if lines are too long in
- the first line of PROCtext. The second line in PROCtext is personal as I
- like being able to centralise text without effort! To do so, just set X%
- to -1. The %110 sets bits 1 and 2 so that both characters and spacing
- are altered at the same time. %100 sets spacing, while %010 will alter
- just character sizes. It is also possible to use 0.5 as Height or Width
- but that works better in “chunky” modes, like 2 rather than 12. When the
- width is set to an odd number, the “auto-centralising” is sometimes a
- little off so you may prefer to set up the X co-ord manually.
- 4.8
- REM >$.Height/Wid.!RunImage
- 4.8
- :
- 4.8
- DIM block% 12, output% 12
- 4.8
- MODE12:COLOUR3
- 4.8
- :
- 4.8
- PROCtext(1,-1,1,2,3,“Multi Height & Width!”)
- 4.8
- PROCtext(2,-1,4,2,1,“Double Height, Normal Width”)
- 4.8
- PROCtext(3,-1,7,1,2,“Normal Height, Double Width”)
- 4.8
- PROCtext(4,-1,10,3,3,“3 * 3 Format”)
- 4.8
- PROCtext(5,-1,15,4,1,“Ridiculous! 4 X 1 !!”)
- 4.8
- PROCtext(6,-1,20,1,1,“You should reset the height & width
- 4.8
- before finishing”)
- 4.8
- PROCtext(6,-1,21,1,1,“but as it stands the PROCedure will
- 4.8
- do this anyway”)
- 4.8
- END
- 4.8
- :
- 4.8
- DEFPROCtext(C%,X%,Y%,H,W,T$)
- 4.8
- F%=FNvdu
- 4.8
- IF F%-(LENT$*W)<=0 THEN ERROR 300,“Line too long”
- 4.8
- GCOL C%
- 4.8
- Y%=1000-(Y%*32)
- 4.8
- IF X%=-1 THEN X%=(F%-LENT$*2)/(W*2)
- 4.8
- IF W=1 THEN X%=(F%-LENT$)/4
- 4.8
- X%=X%*32
- 4.8
- VDU 23,17,7,%110,W*8;H*8;0;
- 4.8
- VDU 5,25,4,X%;Y%;
- 4.8
- PRINT T$
- 4.8
- VDU 4,23,17,7,%110,8;8;0;
- 4.8
- ENDPROC
- 4.8
- :
- 4.8
- DEF FNvdu
- 4.8
- !block%=256
- 4.8
- block%!4=-1
- 4.8
- SYS“OS_ReadVduVariables”,block%,
- 4.8
- output%
- 4.8
- =!output%
- 4.8
- • Off screen desktop windows − Normally, the filer and switcher windows
- are forced to stay within the confines of the screen but, by altering
- their template files, it is possible to make them move ‘off screen’ and
- thus help to reduce window ‘clutter’.
- 4.8
- To do this, you have to copy the window templates from the DeskFS to a
- directory called Templates. First, create a directory called Templates
- in the root directory of your harddisc or ‘workdisc’ and then type the
- following:
- 4.8
- *deskfs
- 4.8
- *copy templates.filer scsifs::scsidisc4.$.templates.filer
- 4.8
- *copy templates.switcher scsifs::scsidisc4.$.templates.filer
- 4.8
- (You can also copy netfiler, palette and wimp windows across if
- required.)
- 4.8
- Load the window template data into !FormEd (Shareware Disc 20) and set
- the ‘no bounds’ option for each window. Then, edit your disc !boot file
- to include the following line:
- 4.8
- Set Wimp$Path scsifs::scsidisc4.
- 4.8
- (or whatever your system is!) Don’t forget the full stop at the end.
- This points Wimp$Path in the direction of the updated windows.
- 4.8
- Finally re-boot your machine to see the result! M Roscoe, Ealing
- 4.8
- • PrinterDM with the Star LC24−10 − I was interested to see the note on
- !PrinterDM and the LC24-10 in March’s edition of Archive. May I draw
- your attention to the “Hint and Tip” which I had published in the March
- edition of Risc User on the same subject but concerning a different
- problem. I was initially disappointed in the results I obtained with
- Impression Junior (and from the Ovation test disc and, to a lesser
- extent, !Draw printouts). This was due to some lines of text having a
- marked “slewed” effect. After speaking to Star, and much sleuthing, I
- tracked down the problem to the very same line in the PrData file of
- !PrinterDM (version 1.12). There is apparently some incompatibility
- between the Star and the Epson LQ800. The former does not like the “zero
- absolute tab” command used to obtain the CR without LF. The solution was
- to substitute the commands used in the FX80 module, although modified to
- use the correct line feed command for 24 pin printers. With my version
- of !PrinterDM I have not experienced any squashed text with the 24/180
- inch feed (could the writer have been in IBM mode where the command
- gives n/216 inches rather than n/180 inches?) but the bigger feed
- suggested in March’s tip could equally well be used. The modified line
- is as follows:
- 4.8
- line_epilogue “<27>A<0><13><27>2<27>J<24>”
- 4.8
- I’m surprised that this matter has not previously been commented on,
- especially as I think it also applies to the XB24-10. A.F. Taylor,
- Poole
- 4.8
- • Quattro to Schema transfer − To move data files from Quattro, first
- save the file with a WKI extension. Then you can use Schema’s !sch123 to
- translate the file into Schema format. This method leaves all sorts of
- spurious bits and pieces which have to be edited out by hand but it does
- work. M Green, Devon
- 4.8
- • Quitting First Word Plus − If you quit First Word Plus (release 2)
- from the task manager while a text file is loaded, you will be thrown
- out of the desktop. If other applications are running that may object
- e.g. Draw, Paint, etc, they will announce what is about to happen and
- give you a chance to prevent it. Otherwise you will lose any files that
- you may have been working on in First Word Plus. R Bunnett,
- Swanley
- 4.8
- • Reading disc names − For those software writers who need to check that
- the user has inserted an appropriate disc in the disc drive the
- following function returns the name if the disc currently inserted:
- 4.8
- DIM block% 5
- 4.8
- :
- 4.8
- DEF FNdiscname
- 4.8
- SYS “OS_GBPB”,5,,block%
- 4.8
- ?(block%+?block% +1)=13
- 4.8
- =$(block%+1)
- 4.8
- M Sawle, Hampshire
- 4.8
- • !Schema VAT rate − New spreadsheets are created with various user
- names available, one of which is “Vat”. To change this from 0.15 to
- 0.175, look in the !Schema directory and then in the Menu directory and
- you should find a file called StartUp. This has a write-lock on it so
- you will have to use ‘Access’ off the filer menu to enable it to be
- changed. At the end of this file are a number of lines that start with
- ‘putusn’, the first of which is the Vat rate which simply needs to be
- changed before the file is again saved and the write-lock access
- restored. Ian Hamilton, Harrow.
- 4.8
- • Spaced filenames − If you want a <space> in a disc or file name, use a
- hard space. This is available by pressing either <alt><1><6><0> or
- <alt><space>. You should note that if you do use it then you can’t use
- the copy key on a catalogue because the Archimedes thinks that the
- character is a normal space (which is illegal in a filename). E Hughes,
- Derbyshire
- 4.8
- • Twin World cheats − The file SavedGame can be edited using !Edit to
- cheat. Byte values of interest include:
- 4.8
- Byte 1 = Level (Maximum = 22 = &16)
- 4.8
- Byte 4 = Red Spells (Maximum 99 = &63)
- 4.8
- Byte 5 = Blue Spells (Maximum 99 = &63)
- 4.8
- Byte 6 = Green Spells (Maximum 99 = &63)
- 4.8
- Bytes 8-11 = Score, low byte first. (Maximum = 999999 = &F423F )
- 4.8
- Byte 12 = Lives (Maximum = 9 or 10 = &9 or &0A)
- 4.8
- Remember all value are in hex, so use the magic character option in
- !Edit’s Find. Stuart Turgis
- 4.8
- • TwinWorld hints
- 4.8
- − Owls in the forest can be killed by jumping up and firing.
- 4.8
- − Similarly, on some occasions you will have to jump, but fire on the
- way down to hit denizens close to you.
- 4.8
- − Jump between worlds whenever possible − if you loose a life, you’re
- taken back to the last time you changed worlds.
- 4.8
- − Stamping your feet can reveal objects − either treasure or keys.
- 4.8
- − Beware of calling the genie when you are already carrying two other
- sorts of objects (remember the horn is one), because you won’t be able
- to buy an object which you don’t already hold.
- 4.8
- − Beware when shooting the three-headed dragon. If you don’t shoot the
- head furthest away from you, it flies away from you and fires an almost
- continuous salvo.
- 4.8
- − Watch out for extended jump − you can sometimes use it when you don’t
- realise − on some screens it’s essential and you may only have a limited
- amount.
- 4.8
- − Watch out for the parachute − in the last few levels I found I
- couldn’t get rid of it and it limited my objects to just two types.
- 4.8
- − When firing at the bird − if you duck, it flies lower to avoid your
- fire. Stand until the bird is fairly close, then crouch and fire.
- 4.8
- − When the giant clam fires at you, or the Big eye, if you run so the
- ‘bullet’ is off the screen it will disappear.
- 4.8
- Impression
- 4.8
- Hints & Tips
- 4.8
- Bruce Goatly (BG), who is busy writing a book about using Impression,
- very kindly sent us some hints & tips (in return for permission to use
- our H&T in his book!). Most of the rest of the H&T are from the editor’s
- experiences with the unreleased version 2.09. (Version 2.10 is not ready
- for release so 2.05 is still the latest officially available version.)
- 4.8
- • Abbreviation expansion − Use it to correct common spelling errors or
- to enforce house style (I often type ‘ans’ for ‘and’ and ‘thw’ for
- ‘the’, and the house style for my book is ‘disk’ whereas I almost always
- spell it ‘disc’). BG.
- 4.8
- • Date and time format − As I continually forget what day it is, I use
- the Insert date option quite a lot. If you want to change the format of
- the date (the default is in the form 6th April 1991), load the !Run file
- into Edit and alter the definition of the variable Impression$DateFormat
- (see pp. 337-339 of the User Guide, on using system variables).
- Similarly, you can alter the time format by editing
- Impression$TimeFormat. BG.
- 4.8
- • Dongle connection problems − If you are having problems with a dongle
- that keeps saying it is not present and you find that you need to wiggle
- it (just a little bit!) to recognise its presence, go back and read the
- hint above about ‘Connection problems’. Alternatively, CC themselves
- offer a hint about it. They say that it is important to quit properly
- from Impression and not just do a <ctrl-break>, otherwise the dongle
- might need to be left for a couple of hours for a capacitor to discharge
- before Impression can be loaded again.
- 4.8
- • Line spacing and font changes − If a line in the middle of a paragraph
- starts with a different font from the lines around it, the line spacing
- may be upset for that one line because of the way Impression does its
- calculations. The way round it is to put the cursor at the start of the
- offending line, cancel the font change at that point and insert a ‘null’
- character (such as Alt-131). This will be invisible but will correct the
- line spacing. BG.
- 4.8
- • Loading text files − If you want to load a text file into Impression,
- there is no need to create a new document first − just drag the Edit
- file onto the Impression icon and it will set up an untitled document
- and load the text into a null frame.
- 4.8
- • Marking a single character − If you are doing DTP in a lower resolu
- tion screen mode, you may be finding it difficult to use the mouse to
- drag-mark a single character e.g. the ‘l’ in ‘will’. One way of doing it
- is to move the cursor between two of the characters, click <select> but
- firmly hold the mouse in place. Then you use the cursor left or right,
- as appropriate, to move the cursor to the other side of the character to
- be marked and finally press <adjust>. George Foot, Oxted.
- 4.8
- My method of doing any of this kind of detailed work is to have two
- windows open on the same document − which is extremely easy to do
- (another advantage over PageMaker!) − one shows the full page and one
- just an enlarged section of the text. Then you can flick backwards and
- forwards between the two views enlarging and contracting the windows or
- simply pushing them to the back when they are not wanted.
- 4.8
- (However, have you noticed that Impression sometimes insists on going
- back to the beginning of the document when you expand and contract the
- window using the size switch icon in the top right hand corner of the
- window? Has anyone worked out why it happens and, more importantly, how
- to stop it?)
- 4.8
- • Special characters − The list in Appendix 5 of the Impression II
- manual gives a printout of all the characters. This is useful, but there
- is some variation from one typeface to another, so it would be useful to
- have an Impression file of it so that you could print it out in your
- particular typeface. I’ll put a file of it on the monthly program disc,
- but if you want to do it yourself, you can run the following program and
- put the text into a multi-column Impression document.
- 4.8
- 10 REM > CHARLISTER
- 4.8
- 20 *SPOOL CHARS
- 4.8
- 30 @%=2
- 4.8
- 40 FOR N% = 32 TO 255
- 4.8
- 50 PRINT N%;CHR$(9);
- 4.8
- “{”“heading”“on }{” ;CHR$(N%); “}”
- 4.8
- 60 NEXT
- 4.8
- 70 *SPOOL
- 4.8
- • Spell-checking − Not really a hint, but I was using the spelling
- checker and it offered me the word “faltness” and told me that
- “flatness” was wrongly spelled. Also, while spell-checking, someone had
- written “Beebugs’ policy”. The spelling checker knows Beebug but can you
- guess what it offered me as an alternative for the accidental plural?
- Yes, that’s right, “Bedbugs”! On the same theme, I spell-checked my
- Factfile and came up with Motley Electronics, Mike Leecher of EMU Ltd,
- ARM3’s from Aloof One and IDLE drives from Ian Copycats. Then I tried
- some of our contributors and found Brain Cowman, Dim Parkland and last,
- but not least, Pall Beggarly.
- 4.8
- • Tickets please! − (The following saga gives, firstly, an unnecessarily
- long method of doing a job but one which illustrates techniques which
- might prove useful in other circumstances. It is followed by the easier,
- smarter method!) I wanted to make some numbered tickets at A6 size so I
- made up an A4 page with four copies of the ticket. I used a two column
- master page so that I could just take a copy of the text on the page and
- paste it 14 times to make my 60 tickets. Near the bottom of each ticket,
- it said, “Ticket number: ” with an appropriate blank space. Then I
- created four guide frames on the master page at about the right place to
- put in the ticket numbers and inserted four new frames on each page. I
- then went through linking all the frames together. To create the text
- for the numbers, I used PipeDream using the “row” command and copying it
- down 60 rows. I then “saved” this in tab format straight into the first
- ticket number frame and, instantly, all the tickets were numbered.
- Brilliant! The only real hassle was lining up the ticket number boxes
- with the words on the ticket. The problem is that although you can have
- both the text and the master page on screen at the same time and at the
- same magnification (which helps), the main page is not updated until the
- master page is closed so I changed the “preferences” to make the master
- page come up at the right magnification.
- 4.8
- (A similar technique of linked frames is used for the running heads on
- the magazine − i.e. the articles’ names at top outside corners of the
- pages. The dummy Archive, before articles are inserted, has a whole
- string of 60 “X”s, one on each page, alternately left and right aligned.
- Then, when an article has been inserted, the running heads are altered
- using selective search and replace to change, for example, “X” into
- “Hints & Tips”. This is easier than using copy and paste because it
- preserves the left and right alignment. But I digress... let me get back
- to the tickets...)
- 4.8
- Then I suddenly realised the easy way of doing it.... Create the ticket
- at full A4 size on the master page using “Ticket number: ” and then
- inserting the page number. (Use <menu> − Misc − Insert − Current page
- number − Numeric.) Then, all you do is to add 59 pages (click on “Insert
- new page” with <adjust>, not <select> so that the menu option stays on
- the screen) and use “Fit lots” on the “Print” dialogue box reducing the
- scale to 50%. If you find that it still says, “Fit lots (1)” at 50% and
- you have to go down to about 48% before it goes to (4), click on
- “Setup...” and select the option to “Ignore page boundary”. If you don’t
- do this but print out at 48%, you will find that the margins are
- unequal. This is a much quicker way of doing it than the previous method
- and also gives the possibility of deciding that you want the tickets
- smaller after all so you just reduce the scale and, perhaps, change to
- sideways printing.
- 4.8
- • Widows & orphans − This is the technical term for where you get a
- paragraph split so that a single line is on one page (or column) and the
- rest is on the previous or next. If the first line is split off from the
- rest, the solution is fairly obvious − use <ctrl-G> at the beginning of
- the paragraph to push the line onto the next column. The odd line at the
- end of a paragraph is less easy. If the text is left justified, you can
- again use <ctrl-G> to push one more line to the next column to join the
- lonely orphan. However, if you subsequently edit the paragraph so that
- the layout of the lines changes, you have to edit out the <ctrl-G>.
- Also, this doesn’t work at all if you are using full justification
- because the <ctrl-G> causes the justification on the last line of the
- column to be lost and it looks like the end of a paragraph without a
- full stop. The only solution I can find is to create a new frame with
- <ctrl-I> and lay it over the last line of the column. This forces that
- line over to the next column without losing the justification.
- 4.8
- SCSI Hints & Tips
- 4.8
- • Removable drive problems − We are beginning to understand more about
- the problems with removable drives. Let me explain... SCSI drives are
- intelligent and they keep their own record of any duff sectors. However,
- this record is not available to the user. If you tell the computer to
- “format” the disc, it deliberately ignores any sectors it already knows
- are duff. If you get a “soft error” i.e. where the data gets corrupted
- so that the CRC check shows up an error, reformatting will clear the
- problem. However, if the disc surface is actually damaged, it may be
- that reformatting clears the problem temporarily but, with time, the
- problem may reappear and you will get the dreaded “Disc error 10 at... ”
- or whatever. The solution to this is to use the *DEFECT command provided
- by RISC-OS. If you get an error, *VERIFY the disc, note the addresses
- which are thrown up as either suspect or actually having a disc error,
- say, 7CEC00, 7CEE00 and 7CF000 and then type in
- 4.8
- *DEFECT SCSI::5 7CEC00
- 4.8
- *DEFECT SCSI::5 7CEE00
- 4.8
- *DEFECT SCSI::5 7CF000
- 4.8
- where SCSI::5 is the drive definition. It is worth recording these
- addresses in case you need to format the disc again in the future. You
- then need to enter the *DEFECT commands again. If *DEFECT finds that you
- are trying to map out a sector that is allocated to a file or directory,
- it will tell you so, in which case, you will have to copy the file or
- directory and delete the one which it says is in the way.
- 4.8
- Obviously, it is better if you can avoid getting hard errors in the
- first place so, just as a reminder, (1) always dismount the drive
- properly before switching off the power and (2) keep your drive cool by
- not packing other hardware around it.
- 4.8
- • Removable drive problems (Part 2) − Surely there can’t be any MORE
- problems with the removable drives − they really won’t be worth selling.
- Yes, there are more problems but, yes, I still think they are worth
- selling. If you try to use the MR45’s or the Atomwide equivalent on an
- Acorn SCSI podule or on a TechnoSCSI (I have not tried any others), you
- will find that occasionally they just hang up − usually when copying a
- sequence of files. It is a timing problem which Acorn say they will look
- into but they are not too optimistic. They say that Syquest, who make
- the drive mechanisms, have interpreted the SCSI standards in a different
- way from other drive manufacturers. The Acorn engineers have tried to
- modify their software to accommodate Syquest’s idiosyncrasies but
- although they have managed to make a version of their software that will
- work when copying lots of files, they find that it does not format the
- cartridges properly! It is not beyond the bounds of possibility to get
- SCSI software to work on the Syquest drives − both Oak and Lingenuity
- have done it successfully but, as yet, there is no satisfactory way of
- running them on Acorn or TechnoSCSI cards.
- 4.8
- I should say to A540 owners, that, although I am using a Syquest
- removable drive on my A540, I am doing so on an Oak podule. I made the
- change (before I realised there was any problem) purely on the basis
- that (1) the Oak software is the easiest to use on the MR45’s because of
- the ease of dismounting and re-mounting discs and (2) it is the fastest
- that I have tried. (I have not yet tried the offerings from HCCS or The
- Serial Port but unless they have specifically tailored their software
- for the Syquest mechanisms, I doubt that they will work.)
- 4.8
- • SCSI land speed record − Oak are claiming an Archimedes drive speed
- record. Their 300M HS drive, on an A440 with a 20MHz ARM3, runs at 1939
- / 1761 / 1043 Kbytes/sec in modes 0, 15 and 21 respectively. Can anyone
- beat that? A
- 4.8
-
-
-
-